#include<iostream>
#include<cstring>
using namespace std;

int a[100010];
int id = 0;

void ins(int x, int k, int p) {
    for(int i=0; i<id; i++) {
        if(k == a[i]) {
            int pos = i + p; // 计算插入位置
            for(int j=id; j>pos; j--)
                a[j] = a[j-1];
            a[pos] = x; // 插入新元素
            id++;
            break;
        }
    }
}

void del(int k) {
    for(int i=0; i<id; i++) {
        if(k == a[i]) {
            for(int j=i; j<id-1; j++)   a[j] = a[j+1];
            id--;
            break;
        }
    }
}

int main() {
    memset(a, 0, sizeof(a));
    a[id++] = 1;
    int n, m;
    cin >> n;
    for(int i=2; i<=n; i++) {
        int k, p;
        cin >> k >> p;
        ins(i, k, p);
    }
    cin >> m;
    while(m--) {
        int k;
        cin >> k;
        del(k);
    }
    for(int i=0; i<id; i++) {
        cout << a[i] << " ";
    }
    return 0;
} 